// pages/classic/claasic.js
import ClassicModel from '../../models/classic.js';
import LikeModel from '../../models/like.js';
const classicModel = new ClassicModel();
const likeModel = new LikeModel();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    classic: {},    // 存放服务器传来的杂志里面的信息
    first: false,
    lastest: true,
    likeCount: 0,
    likeStatus: false
  },

  // 用户点击心形图案后，触发
  onLike: function(event) {
    let behavior = event.detail.behavior;
    likeModel.like(behavior, this.data.classic.id, this.data.classic.type);
  },

  // 跳转到上一篇杂志
  onPervious() {
    this._updateClassic('previous');
  },
  onNext() {
    this._updateClassic('next');
  },

  // 跳转到上一期刊后下一期刊时，获取期刊信息
  _updateClassic(nextorPrevious) {
    let index = this.data.classic.index;
    classicModel.getClassic(index, nextorPrevious ,(res) => {
      this._getLikeStatus(res.id, res.type)
      this.setData({
        classic: res,
        first: classicModel.isFirst(res.index),
        lastest: classicModel.isLastest(res.index)
      })
    })
  },

  // 用户点击心形图标时，向服务器更新期刊关注的人数
  _getLikeStatus(artID, category) {
    likeModel.getClassicLikeStatus(artID, category, (res) => {
      this.setData({
        likeCount: res.fav_nums,
        likeStatus: res.like_status
      })
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    classicModel.getLatest(res => {
      this.setData({
        classic: res,
        likeCount: res.fav_nums,
        likeStatus: res.like_status
      })
      // console.log('res', res);
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})